// 配置axios
import axios from "axios"

// 创建axios实例
let httpInstance = axios.create()
// 设置公共的url
httpInstance.defaults.baseURL = "/api"
// 设置请求超时
httpInstance.defaults.timeout = 1000 * 30
// 设置formurl
httpInstance.formurl = (url, data, config) => {
    return httpInstance.post(url, data, {
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded',
            // 'Content-Type':'multipart/form-data'
        }
    })
}

// request拦截器
httpInstance.interceptors.request.use(
    config => {
        console.log("进入到了请求拦截器：", config)
        // 解决get无法携带headers的问题
        if (config.method === 'get') {
            // 给data赋值以绕过if判断
            config.data = true
        }
        // 设置公共的请求头 我们需要设置请求头携带token到后端
        config.headers.Authorization = sessionStorage.getItem("token") ? sessionStorage.getItem("token") : ''
        return config
    },
    error => {
        return Promise.reject({ code: 202, msg: "token已过期，请重新登录！" })
    }
)
// response拦截器
// httpInstance.interceptors.response.use(
//     response => {
//         console.log("进入到了响应拦截器：", response)
//         if (response.status === 200) {
//             // 校验token失效
//             if (response?.data?.code == 202) {
//                 sessionStorage.clear()
//                 return Promise.resolve({ code: 202, msg: "token已过期，请重新登录！" })
//             }
//             return Promise.resolve(response)
//         }


//     },
//     error => {
//         return Promise.reject({ code: 202, msg: "token已过期，请重新登录！" })
//     }
// )

export default httpInstance